package cc.dullsky.util;

import java.io.IOException;

import com.jfinal.kit.PropKit;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;

public class QiNiuUtil {
	static {
		PropKit.use("config.properties");
		ACCESS_KEY = PropKit.get("ak");
		SECRET_KEY = PropKit.get("sk");
		bucketName = PropKit.get("bucketName");
	}
	// 设置好账号的ACCESS_KEY和SECRET_KEY
	static String ACCESS_KEY;
	static String SECRET_KEY;
	// 要上传的空间
	static String bucketName;

	// 密钥配置
	static Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
	// 创建上传对象
	static UploadManager uploadManager = new UploadManager();

	// 简单上传，使用默认策略，只需要设置上传的空间名就可以了
	public static String getUpToken() {
		return auth.uploadToken(bucketName);
	}

	/**
	 * 七牛简单上传
	 * 
	 * @param FilePath
	 *            上传文件的路径
	 * @param fileName
	 *            上传到七牛后保存的文件名
	 * @throws IOException
	 */
	public static void upload(String FilePath, String fileName) throws IOException {
		try {
			// 调用put方法上传
			Response res = uploadManager.put(FilePath, fileName, getUpToken());
			// 打印返回的信息
			System.out.println(res.bodyString());
		} catch (QiniuException e) {
			Response r = e.response;
			// 请求失败时打印的异常的信息
			System.out.println(r.toString());
			try {
				// 响应的文本信息
				System.out.println(r.bodyString());
			} catch (QiniuException e1) {
				// ignore
			}
		}
	}
}
